
#ifndef __LINK_SERIALCLIENT_H__
#define __LINK_SERIALCLIENT_H__
#include "SerialPort.h"
#include "base/LinkBase.h"
#include <map>

/*
    连接接口实现类： 串口 连接

*/
namespace controller
{
    class LinkSerialPort : public LinkBase, public itas109::CSerialPort
    {
    private:
        /* data */
        std::string _dev;
        int _baud;
        void *listener = nullptr;

    public:
        LinkSerialPort(/* args */);
        ~LinkSerialPort();

        //dev:/dev/ttyS0  baud:115200  
        bool open(std::map<std::string, std::string>) override;          // 打开
        bool close() override;                                           // 关闭
        int write(char *data, int len, const char *arg = NULL) override; // 写
        // int read(char *dataout, int len) override;//读

        // 状态
        bool is_open() override;     // 设备是否打开
        std::string name() override; // 设备名称
        std::string info() override; // 设备信息
    };
};

#endif // ! __LINK_TCPCLIENT_H__
